1. Field of the Invention
The invention relates generally to Serial Attached SCSI (SAS) expanders and more specifically relates to method and systems for reducing the signal path count between circuits within a SAS expander used for establishing/initializing SAS connections.
2. Discussion of Related Art
SAS supports a number of features for initiating connections between communicatively coupled SAS devices (i.e., between SAS initiator devices and SAS target devices). Typically, the SAS initiator and target devices will not be directly coupled with each other, but rather will be coupled through a switched SAS fabric comprising one or more SAS expanders. The SAS expanders route communications between the SAS devices they are coupled with. Furthermore, the SAS expanders may manage multiple different SAS connections at substantially the same time.
SAS expanders may (internally) comprise a connection manager circuit coupled with multiple link layer control circuits. The link layer control circuits may each be coupled for communication with a SAS device, and may be used by a coupled SAS device for requesting SAS expander operations to establish a connection with another device through another link layer control circuit of the expander. The connection manager circuit manages routing information at the SAS expander, and is capable of establishing SAS connections between various link layer control circuits. The connection manager circuit generally comprises a crossbar switch (or other switching circuitry) and associated logic to determine a route/path through the switch to couple one link layer control circuit to another for purposes of establishing a connection between two SAS devices through the expander.
It is common for SAS expanders to be designed with varying numbers of link layer control circuits in order to allow for a family of expander products. Such products may even include custom expander designs for integration with other systems. Thus, it is desirable that the link layer control circuits exist as separate circuits from the common connection manager circuit to provide for flexibility in the design of the expander. To facilitate communications between the link layer control circuits and the common connection manager circuit, SAS expanders typically include a parallel bus structure that allows for simultaneous transmission of a very large number (e.g., thousands) of interconnect signals at once between link layer control circuits and the connection manager. The link layer control circuits and the connection manager circuit exchange signals over these large parallel bus structures. In this manner, the circuits can operate rapidly to provide the switched connections desired for several initiators to communicate with several targets. This significant number of interconnect signals allows the link layer control circuits and the common connection manager circuit to, in essence, exchange all logic signals in real time (i.e., updated signals are provided at each clock pulse of a clock used by the circuits).
However, large parallel bus structures give rise to a number of issues that are undesirable. For example, large bus structures can result in significant increases in the complexity and size (e.g., die area) of integrated circuit packages for SAS expanders.
Thus it is an ongoing challenge to maintain desired performance for a SAS expander servicing a number of SAS devices to establish connections while reducing the complexity and size of the circuits implementing the link layer control and the connection manager functions.